Packet processing has traditionally been performed on specialized hardware built into network routers and switches. In order to provide more flexibility and minimize expenses, networking tasks have been moving to virtualized frameworks built on top of commodity hardware. This solution works for current network hardware, but as network cards increase to 100 Gb and beyond, the amount of compute power necessary to process packets at line speed is also increasing.